A programmable processing device can be programmed to handle dozens of data acquisition channels and analog or digital inputs and sub-systems. A programmable processing device typically includes a program memory and a flash memory and may include configurable sub-systems. A user needs to program or configure the programmable processing device before its use. The data chosen by the user to configure or functionally prepare the programmable processing device is called configuration data, which is typically stored in the program memory of the programmable processing device. As a result, the available program memory space to the user is reduced due to the storage of the configuration data.
The flash memory of the programmable processing device is typically used to store program instructions. An error detection scheme is generally required for some safety-related programs so that the programmable processing device may take appropriate actions when program memory bit failures have occurred. In order to accommodate the error detection bits computed based on the chosen error detection scheme, the size of the flash memory is increased to store both the program instructions and error detection hits associated with the program instructions.
However, not all programs running at the programmable processing device need to be implemented with an error detection scheme. When a user chooses not to implement any error detection scheme for the program instructions stored in the flash memory of the programmable processing device, the portion of the flash memory space used to store the error detection hits when an error detection scheme is implemented is not used.